package com.ruoyi.web.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 临床招募对象 clinical
 *
 * @author drx
 * @date 2024-04-08
 */
@ApiModel("临床招募")
public class Clinical extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @ApiModelProperty("$column.columnComment")
    private Long id;

    /**
     * 短标题
     */
    @Excel(name = "短标题")
    @ApiModelProperty("短标题")
    private String title;
//    布尔 整数 浮点 字符
    /**
     * 标题
     */
    @Excel(name = "标题")
    @ApiModelProperty("标题")
    private String webtitle;

    /**
     * 内容
     */
    @Excel(name = "内容")
    @ApiModelProperty("内容")
    private String description;

    /**
     * 关键字
     */
    @Excel(name = "关键字")
    @ApiModelProperty("关键字")
    private String keywords;

    /**
     * tdk说明
     */
    @Excel(name = "tdk说明")
    @ApiModelProperty("tdk说明")
    private String tdkTitle;

    /**
     * tdk富文本
     */
    @Excel(name = "tdk富文本")
    @ApiModelProperty("tdk富文本")
    private String tdkDescribe;

    /**
     * 适应症
     */
    @Excel(name = "适应症")
    @ApiModelProperty("适应症")
    private String indications;

    /**
     * 招募阶段 -->字典 recruitment_stage
     */
    @Excel(name = "招募阶段 -->字典 recruitment_stage")
    @ApiModelProperty("招募阶段 -->字典 recruitment_stage")
    private String stage;

    /**
     * 类型 0:女 1:男 2:男女不限
     */
    @Excel(name = "类型 0:女 1:男 2:男女不限")
    @ApiModelProperty("类型 0:女 1:男 2:男女不限")
    private String sexType;

    /**
     * 试验分期 --> 字典 trial_staging
     */
    @Excel(name = "试验分期 --> 字典 trial_staging")
    @ApiModelProperty("试验分期 --> 字典 trial_staging")
    private String trialStaging;

    /*
     * 试验分期名称
     * */
    private String trialName;

    /**
     * 药品名称
     */
    @Excel(name = "药品名称")
    @ApiModelProperty("药品名称")
    private String drug;

    /**
     * 年龄
     */
    @Excel(name = "年龄")
    @ApiModelProperty("年龄")
    private String age;


    /*
    * 治疗阶段
    * 字典 treatment_stage
    * */
    private String treatmentStage;

    /*
    * 治疗阶段转译
    * */
    private String stageName;

    /*
    * 试验地区
    * 字典 provinces_code
    * */
    private String trialArea;

    /*
    * 实验地区转译
    * */
    private String areaName;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("开始时间")
    private Date startTime;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("结束时间")
    private Date endTime;

    /**
     * 登记号
     */
    @Excel(name = "登记号")
    @ApiModelProperty("登记号")
    private String registrationNum;

    /**
     * 人数
     */
    @Excel(name = "人数")
    @ApiModelProperty("人数")
    private Long peopleNum;

    /**
     * 项目介绍
     */
    @Excel(name = "项目介绍")
    @ApiModelProperty("项目介绍")
    private String content;

    /**
     * 入选条件
     */
    @Excel(name = "入选条件")
    @ApiModelProperty("入选条件")
    private String selected;

    /**
     * 排除条件
     */
    @Excel(name = "排除条件")
    @ApiModelProperty("排除条件")
    private String exclusion;

    /**
     * 创建人名称
     */
    @Excel(name = "创建人名称")
    @ApiModelProperty("创建人名称")
    private String createName;

    /**
     * 更新人名称
     */
    @Excel(name = "更新人名称")
    @ApiModelProperty("更新人名称")
    private String updateName;

    /**
     * 是否删除（0否；1是）
     */
    @ApiModelProperty("是否删除（0否；1是）")
    private String delFlag;

    /**
     * 显示状态（0不显示；1显示）
     */
    @ApiModelProperty("显示状态 （0不显示；1显示）")
    private String state;

    /**
     * 临床招募疾病集合
     */
    private List<ClinicalDisease> diseaseList;

    private String pid;

    private String diseaseId;

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getTreatmentStage() {
        return treatmentStage;
    }

    public void setTreatmentStage(String treatmentStage) {
        this.treatmentStage = treatmentStage;
    }

    public String getStageName() {
        return stageName;
    }

    public void setStageName(String stageName) {
        this.stageName = stageName;
    }

    public String getTrialArea() {
        return trialArea;
    }

    public void setTrialArea(String trialArea) {
        this.trialArea = trialArea;
    }

    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public String getPid() {
        return pid;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }

    public String getDiseaseId() {
        return diseaseId;
    }

    public void setDiseaseId(String diseaseId) {
        this.diseaseId = diseaseId;
    }

    public String getTrialName() {
        return trialName;
    }

    public void setTrialName(String trialName) {
        this.trialName = trialName;
    }

    public List<ClinicalDisease> getDiseaseList() {
        return diseaseList;
    }

    public void setDiseaseList(List<ClinicalDisease> diseaseList) {
        this.diseaseList = diseaseList;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setWebtitle(String webtitle) {
        this.webtitle = webtitle;
    }

    public String getWebtitle() {
        return webtitle;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getKeywords() {
        return keywords;
    }

    public void setTdkTitle(String tdkTitle) {
        this.tdkTitle = tdkTitle;
    }

    public String getTdkTitle() {
        return tdkTitle;
    }

    public void setTdkDescribe(String tdkDescribe) {
        this.tdkDescribe = tdkDescribe;
    }

    public String getTdkDescribe() {
        return tdkDescribe;
    }

    public void setIndications(String indications) {
        this.indications = indications;
    }

    public String getIndications() {
        return indications;
    }

    public void setStage(String stage) {
        this.stage = stage;
    }

    public String getStage() {
        return stage;
    }

    public void setSexType(String sexType) {
        this.sexType = sexType;
    }

    public String getSexType() {
        return sexType;
    }

    public void setTrialStaging(String trialStaging) {
        this.trialStaging = trialStaging;
    }

    public String getTrialStaging() {
        return trialStaging;
    }

    public void setDrug(String drug) {
        this.drug = drug;
    }

    public String getDrug() {
        return drug;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getAge() {
        return age;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setRegistrationNum(String registrationNum) {
        this.registrationNum = registrationNum;
    }

    public String getRegistrationNum() {
        return registrationNum;
    }

    public void setPeopleNum(Long peopleNum) {
        this.peopleNum = peopleNum;
    }

    public Long getPeopleNum() {
        return peopleNum;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setSelected(String selected) {
        this.selected = selected;
    }

    public String getSelected() {
        return selected;
    }

    public void setExclusion(String exclusion) {
        this.exclusion = exclusion;
    }

    public String getExclusion() {
        return exclusion;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getCreateName() {
        return createName;
    }

    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }

    public String getUpdateName() {
        return updateName;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("title", getTitle())
                .append("webtitle", getWebtitle())
                .append("description", getDescription())
                .append("keywords", getKeywords())
                .append("tdkTitle", getTdkTitle())
                .append("tdkDescribe", getTdkDescribe())
                .append("indications", getIndications())
                .append("stage", getStage())
                .append("sexType", getSexType())
                .append("drug", getDrug())
                .append("age", getAge())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .append("registrationNum", getRegistrationNum())
                .append("peopleNum", getPeopleNum())
                .append("content", getContent())
                .append("selected", getSelected())
                .append("exclusion", getExclusion())
                .append("createBy", getCreateBy())
                .append("createName", getCreateName())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateName", getUpdateName())
                .append("updateTime", getUpdateTime())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
